문제

정수 ab가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.

제한사항

  • -100,000 ≤ a,b ≤ 100,000

입출력 예

입력 #1

4 5

출력 #1

a = 4
b = 5

코드

const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});

let input = [];

rl.on('line', function (line) {
  input = line.split(' ');
}).on('close', function () {
  console.log(`a = ${Number(input[0])}\n` + `b = ${Number(input[1])}`);
});

JS 함수

Number()

  • object : 문자열 또는 문자열을 값으로 하는 변수 등을 입력합니다.
  • 숫자로 변환할 수 없는 값인 경우 NaN을 반환합니다.
  • Number 객체는 숫자를 표현하는 wrapper 객체입니다.
  • Number 객체는 Java나 C#에서의 double과 비슷합니다.
    즉, Number 객체는 소수점 이하 17자리를 표현할 수 있습니다.
  • Number()는 Number 객체의 Constructor로, Number 객체를 생성합니다.

코드 해설

입력 부분

  • 입력 받은 line값을 split을 사용하여 공백을 기준으로 구분한다.
  • input 배열에 line값을 저장한다.

출력 부분

  • ``(백틱) 사용하면 ${}를 사용해서 문자열과 변수 를 적절히 같이 사용할 수 있다.

  • split를 이용해 숫자형이 아닌 문자열 형태이기 때문에 Number를 이용해 숫자형으로 형변환한다.

  • 한 줄 띄우려는 효과를 주려고 \n를 사용하고, 밑줄로 간 문자열은 +``로 감싸줘야 했다.

    console.log(`a = ${Number(input[0])}\n` + `b = ${Number(input[1])}`);
  • ES2015에서는 줄 바꿈을 위해 \n와 문자열을 이어 주기 위해 +를 사용할 필요가 없다.

  • 백틱 내에서는 줄이 바뀌면 알아서 줄 바꿈을 출력한다.

    console.log(`a = ${Number(input[0])}`
    b = ${Number(input[1])}`);